git 学习 |
您所在的位置:网站首页 › git stash 报错 › git 学习 |
在 master-1分支上合并my-feature-1分支(解决该解决的冲突,保留该保留的代码),并产生一个合并提交 G: 切换到 my-feature-1 分支上查看 commit,然后切换到 master-1 分支直接使用 git merge 07...d2,会得到 Auto-merging 时的 CONFLICT,进入文件进行修复,然后提交成为一个 commit,最后 git merge 07...d2 并 push 到仓库。 得到的结构如图所示: xxxxxxxxxx31 A---B---C my-feature-12 / \3 ---D---E---F---G master-1在 my-feature-2 分支上 rebase master-2 分支(解决该解决的冲突,保留该保留的代码): 切换到 my-feature-2 上运行 git rebase master-2,然后逐个(逐个commit?)解决冲突,最后 git push -f 提交。 得到的结构如图所示: xxxxxxxxxx31D---E---F---A'---B'---C' my-feature-22 |3 master-2将 my-feature-3 分支上的 3 个提交(A、B、C)使用 merge --squash 方式(解决该解决的冲突,保留该保留的代码),使得这三个提交被合并成一个提交进入 master-3 分支: 类似 merge 的操作,可以直接输入分支名 git merge --squash my-feature-3,然后手动解决冲突并提交。 得到的结构如图所示: xxxxxxxxxx51 A---B---C my-feature-32 /3 ---D---E---F---G master-3 4 |5 压扁后的提交将基于 my-feature 分支上面最新的三个提交压扁成一个提交: 首先使用 git log 查看 commit 记录及标号,然后找到要被压缩的段的前一个,也就是 D,执行 git rebase -i 4e....6c,会连续两次弹出两个文件,第一个文件中 pick 表示使用当前 commit,squash 表示会压缩到前一个 commit。第二个文件是合并后 commit 的表述。 压扁前: xxxxxxxxxx11 ---D---E---F---G my-feature压扁后: xxxxxxxxxx31 ---D---H my-feature2 |3 压扁后的提交 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |